Why is this method wrong?